package org.x.user.service;

import com.mybatisflex.core.paginate.Page;
import org.springframework.web.multipart.MultipartFile;
import org.x.user.dto.*;
import org.x.user.vo.LoginVO;
import org.x.user.vo.SysUserVO;
import org.x.user.vo.UserAclVO;
import org.x.user.vo.UserInfoVO;

public interface SysUserService {

    Page<SysUserVO>  pageList(UserQueryDTO userQueryDTO);


    //创建用户
    int createUser(CreateUserDTO createUserDTO);


    //登录
    LoginVO login(LoginDTO loginDTO);


    int updateUser(UpdateUserDTO updateUserDTO);

    UserInfoVO getUserAuthInfo();

    UserProfileDTO getUserProfile();

    void updateUserProfile(UpdateProfileDTO updateProfileDTO);

    void updatePassword(UpdatePasswordDTO updatePasswordDTO);

    void updatePhone(UpdatePhoneDTO updatePhoneDTO);

    void submitAuth(AuthSubmitDTO authSubmitDTO);

    int deleteUser(DeleteUserDTO deleteUserDTO);

    void updateUserPassword(UpdateUserPasswordDTO updatePasswordDTO);

    // 在 SysUserService 接口中添加
    String uploadAvatar(MultipartFile file);

    UserAclVO userPermissions(Long id);
}
